The Deductive Synthesis of Imperative LISP Programs
نویسندگان
چکیده
A framework is described for the automatic synthesis of imperative programs, which may alter data structures and produce destructive side effects as part of their intended behavior. A program meeting a given specification is extracted from the proof of a theorem in a variant of situational logic, in which the states of a computation are explicit objects. As an example, an in-place reverse program has been derived in an imperative LISP, which includes assignment and destructive list operations (rplacu and rplacd) .
منابع مشابه
Simple Imperative Polymorphism
This paper describes a simple extension of the Hindley-Milner polymorphic type discipline to call-by-value languages that incorporate imperative features like references, exceptions, and continuations. This extension sacrifices the ability to type every purely functional expression that is typable in the Hindley-Milner system. In return, it assigns the same type to functional and imperative imp...
متن کاملThe Halting Problem for Deductive Synthesis of Logic Programs
Deductive synthesis methods derive programs in an incremental manner, and therefore pose a halting problem { when can synthesis stop with a correct program? We give a characterisation of this problem and state a halting principle as a solution. Another characteristic of deductive synthesis is that it may derive several correct programs, giving rise to another question { which correct programs a...
متن کاملAn Incompleteness Result for Deductive Synthesis of Logic Programs
We formalise the derivation of logic programs from their speciications by deductive synthesis, and introduce the notion of uniform equivalence between logical systems. This enables us to present an incompleteness result for deductive synthesis of logic programs from rst-order logic speciications.
متن کاملCompiling Parallel Lisp for a Shared Memory Multiprocessor
There is a commonly held idea that although Lisp is a good language for prototyping and software development, it is often too inefcient to be useful in actual implementation. Advances in compiling Lisp have begun to change this notion. However, the situation is less clear in the case of parallel Lisp dialects. In this paper, we report on our experience in implementing a compiler for a parallel ...
متن کاملA Formal View of Speci cation , Deductive Synthesis
We view logic programs as ((rst-order) axiomatisations, and deductive synthesis and transformation as operations on mathematical systems composed of axioms and \logical" systems such as SLD and SLDNF. In this framework, we distinguish between speciication, deductive synthesis and transformation and discuss their interrelationships .
متن کامل